#ifndef ILUMINACAO_H
#define ILUMINACAO_H

#include <string.h>
#include "cor.h"
#include "ponto.h"
#include "camera.h"

class Iluminacao
{
private:
    float ka;  // reflexao ambiental
    float kd[3];  // parte difusa
    float ks;  // parte especular
    float k;  // constante de rugosidade
    Cor ca;  // cor ambiental
    Cor cl;  // cor da fonte de luz
    Camera *fonteDeLuz;  // ponto de luz

public:
    Iluminacao(Camera* pl, float ka, Cor ca, float *kd, float ks, Cor cl, float k);
    ~Iluminacao();

    float getKa();
    float *getKd();
    float getKs();
    float getK();
    Cor getCa();
    Cor getCl();
    Camera* getFonteDeLuz(); // retorna o ponto da fonte de luz (pode ser extendido para varias fontes)
};

#endif // ILUMINACAO_H
